home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
aakint14.arc
/
DATAPRES.FUN
next >
Wrap
Text File
|
1986-08-24
|
2KB
|
35 lines
(********************************************************************)
(* THIS FUNCTION WILL RETURN TRUE IF THERE IS DATA IN THE SERIAL *)
(* CHANNEL INPUT BUFFER *)
(* INPUT : Ser_Chan *)
(* INPUT/OUTPUT : NONE *)
(* OUTPUT : Data_Present *)
(* USES : DIAG VARS FOR SERIAL CHANNELS *)
(* CALLS : INTR *)
(* ERRORS : ALL SERIAL POSIBLE RESULTS STORED IN GLB VARS *)
(* GLOBAL VARS : GLB SERIAL VARS *)
(* SUBJECT : SERIAL COMM, TEST FOR INCOMING DATA *)
(* DOMAIN : ARNO A. KARNER LEVEL : 001 *)
(********************************************************************)
FUNCTION Data_Present ( Ser_Chan : INTEGER )
: BOOLEAN ;
VAR
Regs : Reg ;
BEGIN (* FUNC *)
Regs.AH := 3 ;
Regs.DX := Ser_Chan ;
INTR ( $14 , Regs ) ; (* BIOS CALL TO GET SERIAL STATUS *)
IF ( Regs.AH AND 1 ) = 1 THEN Data_Present := TRUE
ELSE Data_Present := FALSE ;
IF Glb_Diag
THEN BEGIN (* DIAG MODE *)
CSF [ Ser_Chan ] := CSF [ Ser_Chan ] AND $9E0F;
CSF [ Ser_Chan ] := CSF [ Ser_Chan ] OR Regs.AX ;
IF ( Regs.AX AND $9E00 ) = 0 THEN CS [ Ser_Chan ] := TRUE
ELSE CS [ Ser_Chan ] := FALSE ;
END; (* DIAG MODE *)
END ; (* FUNC *)